var lengthOfLongestSubstring = function (s) {
  if (!s.length) return 0
  const list = []
  let ans = 1
  for (let i = 0; i < s.length; i++) {
    const index = list.indexOf(s[i])

    if (index !== -1) {
      // 如果存在了，则将0~index+1的元素删除掉，剩下的都是没有重复的子串
      list.splice(0, index + 1)
      list.push(s[i])
    } else {
      list.push(s[i])
    }
    ans = Math.max(list.length, ans)
  }
  // 最后返回的时候还需要再比较一下，因为可能一直没有重复的
  return ans
}

console.log("%c 输出", "color:green;")
console.log(lengthOfLongestSubstring("aabaab!bb"))
